From be169a04bc6b64b1acd881a54203d2788573364c Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Wed, 19 Dec 2007 15:02:05 +0000 Subject: [PATCH] Fix serial output of carriage return when using high-bit stream muxing. Original patch by Dan Doucette. Signed-off-by: Keir Fraser --- xen/drivers/char/serial.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c index a9c91e87eb..2cbb475dab 100644 --- a/xen/drivers/char/serial.c +++ b/xen/drivers/char/serial.c @@ -137,7 +137,7 @@ void serial_putc(int handle, char c) spin_lock_irqsave(&port->tx_lock, flags); if ( (c == '\n') && (handle & SERHND_COOKED) ) - __serial_putc(port, '\r'); + __serial_putc(port, '\r' | ((handle & SERHND_HI) ? 0x80 : 0x00)); if ( handle & SERHND_HI ) c |= 0x80; @@ -167,7 +167,7 @@ void serial_puts(int handle, const char *s) while ( (c = *s++) != '\0' ) { if ( (c == '\n') && (handle & SERHND_COOKED) ) - __serial_putc(port, '\r'); + __serial_putc(port, '\r' | ((handle & SERHND_HI) ? 0x80 : 0x00)); if ( handle & SERHND_HI ) c |= 0x80; -- 2.30.2